{{- $params := .Params | merge .Site.Params.page -}}
{{- $author := partial "function/get-author-map.html" .Params.author -}}
{{- .Store.Set "author" $author -}}
{{- $optim := slice 
  (dict "Process" "resize 16x16 Center webp q75" "descriptor" "16w")
  (dict "Process" "resize 24x24 Center webp q75" "descriptor" "24w")
  (dict "Process" "resize 32x32 Center webp q75" "descriptor" "32w")
-}}

<span class="post-author">
  {{- $content := $author.name | default "Anonymous" -}}
  {{- $icon := dict "Class" "fa-solid fa-user-circle" -}}
  {{- /* Deprecate $params.authorAvatar in favor of $params.showAvatar and add front matter gravatar {bool} */ -}}
  {{- if $author.avatar | and $params.authorAvatar -}}
    {{- $content = printf "%v&nbsp;%v" (dict "Src" $author.avatar "Class" "avatar" "Alt" $content "Width" 16 "Height" 16 "OptimConfig" $optim | partial "plugin/image.html") $content -}}
    {{- $icon = "" -}}
  {{- end -}}
  {{- if $author.link -}}
    {{- $options := dict "Class" "author" "Destination" $author.link "Title" (T "single.author") "Rel" "author" "Icon" $icon "Content" $content -}}
    {{- partial "plugin/link.html" $options -}}
  {{- else -}}
    <span class="author">
      {{- with $icon -}}
        {{- . | partial "plugin/icon.html" }}
      {{ end -}}
      {{- $content | safeHTML -}}
    </span>
  {{- end -}}
</span>
{{- /* EOF */ -}}
